package com.delu.entity;

import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.time.LocalDate;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author 6子的爹
 * @since 2021-12-18
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("travel_order")
@ApiModel(value="TravelOrder对象", description="")
public class TravelOrder implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "订单号")
    @TableId(value = "order_id", type = IdType.ID_WORKER)
    private Long orderId;

    @ApiModelProperty(value = "车辆类型")
    @TableField("car_type")
    private Integer carType;

    @ApiModelProperty(value = "租车时长")
    @TableField("rent_time")
    private String rentTime;

    @ApiModelProperty(value = "开始时间")
    @TableField("start_time")
    private LocalDate startTime;

    @ApiModelProperty(value = "结束时间")
    @TableField("end_time")
    private LocalDate endTime;

    @ApiModelProperty(value = "订单金额")
    @TableField("order_mount")
    private BigDecimal orderMount;

    @ApiModelProperty(value = "关联用户id")
    @TableField("user_id")
    private Long userId;

    @ApiModelProperty(value = "保险类型")
    @TableField("insur_id")
    private Integer insurId;

    @ApiModelProperty(value = "订单状态")
    @TableField("order_status")
    private Integer orderStatus;

    @ApiModelProperty(value = "优惠券id")
    @TableField("coupon_id")
    private Integer couponId;

    @ApiModelProperty(value = "线下实际还车时间")
    @TableField("over_time")
    private LocalDateTime overTime;

    @ApiModelProperty(value = "承租人手机号")
    @TableField("tenant_phone")
    private String tenantPhone;

    @ApiModelProperty(value = "预还车时间(提交订单还未支付时的时间)")
    @TableField("reserve_time")
    private LocalDateTime reserveTime;

    @ApiModelProperty(value = "支付方式")
    @TableField("pay_way")
    private Integer payWay;

    @ApiModelProperty(value = "流水号")
    @TableField("serial_num")
    private String serialNum;

    @ApiModelProperty(value = "汽车Id")
    @TableField("car_id")
    private Long carId;

    @ApiModelProperty(value = "违章状态")
    @TableField("violation_id")
    private Integer violationId;

    @ApiModelProperty(value = "违章扣分")
    @TableField("fen")
    private Integer fen;

    @ApiModelProperty(value = "违章时间")
    @TableField("occur_date")
    private LocalDateTime occurDate;

    @ApiModelProperty(value = "违章行为")
    @TableField("info")
    private String info;

    @ApiModelProperty(value = "罚款金额")
    @TableField("money")
    private BigDecimal money;

    @ApiModelProperty(value = "城市(违章)")
    @TableField("city_name")
    private String cityName;

    @ApiModelProperty(value = "关联lease表")
    @TableField("lease_id")
    private Integer leaseId;

    public TravelOrder() {
    }

    public TravelOrder(Long orderId, Integer carType, String rentTime, LocalDate startTime, LocalDate endTime, BigDecimal orderMount, Long userId, Integer insurId, Integer orderStatus, Integer couponId, LocalDateTime overTime, String tenantPhone, LocalDateTime reserveTime, Integer payWay, String serialNum, Long carId, Integer violationId, Integer fen, LocalDateTime occurDate, String info, BigDecimal money, String cityName, Integer leaseId) {
        this.orderId = orderId;
        this.carType = carType;
        this.rentTime = rentTime;
        this.startTime = startTime;
        this.endTime = endTime;
        this.orderMount = orderMount;
        this.userId = userId;
        this.insurId = insurId;
        this.orderStatus = orderStatus;
        this.couponId = couponId;
        this.overTime = overTime;
        this.tenantPhone = tenantPhone;
        this.reserveTime = reserveTime;
        this.payWay = payWay;
        this.serialNum = serialNum;
        this.carId = carId;
        this.violationId = violationId;
        this.fen = fen;
        this.occurDate = occurDate;
        this.info = info;
        this.money = money;
        this.cityName = cityName;
        this.leaseId = leaseId;
    }

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public Integer getCarType() {
        return carType;
    }

    public void setCarType(Integer carType) {
        this.carType = carType;
    }

    public String getRentTime() {
        return rentTime;
    }

    public void setRentTime(String rentTime) {
        this.rentTime = rentTime;
    }

    public LocalDate getStartTime() {
        return startTime;
    }

    public void setStartTime(LocalDate startTime) {
        this.startTime = startTime;
    }

    public LocalDate getEndTime() {
        return endTime;
    }

    public void setEndTime(LocalDate endTime) {
        this.endTime = endTime;
    }

    public BigDecimal getOrderMount() {
        return orderMount;
    }

    public void setOrderMount(BigDecimal orderMount) {
        this.orderMount = orderMount;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Integer getInsurId() {
        return insurId;
    }

    public void setInsurId(Integer insurId) {
        this.insurId = insurId;
    }

    public Integer getOrderStatus() {
        return orderStatus;
    }

    public void setOrderStatus(Integer orderStatus) {
        this.orderStatus = orderStatus;
    }

    public Integer getCouponId() {
        return couponId;
    }

    public void setCouponId(Integer couponId) {
        this.couponId = couponId;
    }

    public LocalDateTime getOverTime() {
        return overTime;
    }

    public void setOverTime(LocalDateTime overTime) {
        this.overTime = overTime;
    }

    public String getTenantPhone() {
        return tenantPhone;
    }

    public void setTenantPhone(String tenantPhone) {
        this.tenantPhone = tenantPhone;
    }

    public LocalDateTime getReserveTime() {
        return reserveTime;
    }

    public void setReserveTime(LocalDateTime reserveTime) {
        this.reserveTime = reserveTime;
    }

    public Integer getPayWay() {
        return payWay;
    }

    public void setPayWay(Integer payWay) {
        this.payWay = payWay;
    }

    public String getSerialNum() {
        return serialNum;
    }

    public void setSerialNum(String serialNum) {
        this.serialNum = serialNum;
    }

    public Long getCarId() {
        return carId;
    }

    public void setCarId(Long carId) {
        this.carId = carId;
    }

    public Integer getViolationId() {
        return violationId;
    }

    public void setViolationId(Integer violationId) {
        this.violationId = violationId;
    }

    public Integer getFen() {
        return fen;
    }

    public void setFen(Integer fen) {
        this.fen = fen;
    }

    public LocalDateTime getOccurDate() {
        return occurDate;
    }

    public void setOccurDate(LocalDateTime occurDate) {
        this.occurDate = occurDate;
    }

    public String getInfo() {
        return info;
    }

    public void setInfo(String info) {
        this.info = info;
    }

    public BigDecimal getMoney() {
        return money;
    }

    public void setMoney(BigDecimal money) {
        this.money = money;
    }

    public String getCityName() {
        return cityName;
    }

    public void setCityName(String cityName) {
        this.cityName = cityName;
    }

    public Integer getLeaseId() {
        return leaseId;
    }

    public void setLeaseId(Integer leaseId) {
        this.leaseId = leaseId;
    }
}
